﻿#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileSystemModel>
#include <QStringList>
#include <QStringListModel>
#include <QStandardItemModel>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
#if 1 //使用系统已经实现过的文件系统模型
    QFileSystemModel* model = new QFileSystemModel(this);
    model->setRootPath("C:");

#endif

#if 0 //自行创建数据，并将数据加载到模型中
    QStringList list;
    list << "123" << "456" << "789";
    list.append("111");
    list.append("222");
    list.append("333");
    list.append("444");
    list.append("555");

    QStringListModel* model = new QStringListModel(this);
    model->setStringList(list);
#endif


#if 0//没有特定模型的时候，我们就需要使用标准模型
    QStandardItemModel* model = new QStandardItemModel(this);
    model->appendRow(new QStandardItem("111"));
    model->appendRow(new QStandardItem("222"));
    model->appendRow(new QStandardItem("333"));
    model->appendRow(new QStandardItem("444"));

    QList<QStandardItem*> listItem;
    listItem.append(new QStandardItem("aaa"));
    listItem.append(new QStandardItem("bbb"));
    listItem.append(new QStandardItem("ccc"));
    listItem.append(new QStandardItem("ddd"));
    model->appendColumn(listItem);

    model->setHorizontalHeaderItem(0,new QStandardItem("!!!"));
    model->setHorizontalHeaderItem(0,new QStandardItem("@@@"));
    model->setHorizontalHeaderItem(0,new QStandardItem("###"));
    model->setHorizontalHeaderItem(0,new QStandardItem("$$$"));

    model->setVerticalHeaderItem(0,new QStandardItem("QQQ"));
    model->setVerticalHeaderItem(1,new QStandardItem("WWW"));
    model->setVerticalHeaderItem(2,new QStandardItem("EEE"));
    model->setVerticalHeaderItem(3,new QStandardItem("RRR"));
#endif

    ui->listView->setModel(model);
    ui->treeView->setModel(model);
    ui->tableView->setModel(model);
    ui->columnView->setModel(model);

}

MainWindow::~MainWindow()
{
    delete ui;
}

